
package setor;

import java.util.List;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author PauloM
 */
public class CadastroSetor {

    /**
     *
     */
    private RepositorioSetor objRepositorioSetor = null;

    /**
     *
     * @param objRepositorioSetor
     * @throws ErroAcessoRepositorioException
     */
    public CadastroSetor(RepositorioSetor objRepositorioSetor) throws ErroAcessoRepositorioException {
        this.objRepositorioSetor = objRepositorioSetor;
    }

    /**
     * Metodo que ira cadastrar o Setor
     *
     * @param Setor objSetor
     * @return void
     */
    public void cadastrarAtualizar(Setor objSetor) throws ErroAcessoRepositorioException {
        this.objRepositorioSetor.cadastrarAtualizar(objSetor);
    }

    /**
     * Metodo que ira produrar o Setor
     *
     * @param int idSetor
     * @return void
     */
    public Setor procurar(int idSetor) throws SetorNaoCadastradoException, ErroAcessoRepositorioException {
        return this.objRepositorioSetor.procurar(idSetor);
    }

    /**
     * Metodo que ira verificar a existência do Setor
     *
     * @param int idSetor
     * @return void
     */
    public boolean existe(int idSetor) throws ErroAcessoRepositorioException {
        return this.objRepositorioSetor.existe(idSetor);
    }

    /**
     * Metodo que ira listar os Setors
     *
     * @return Collection
     */
    public List<Setor> listar(String strComplemento) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioSetor.listar(strComplemento);
    }

    /**
     * Método que ira remover o Setor do banco
     *
     * @param idSetor
     */
    public void remover(int idSetor) throws SetorNaoCadastradoException, ErroAcessoRepositorioException {
        this.objRepositorioSetor.remover(idSetor);
    }
    
    /**
     * Metodo que ira listar o Setor
     *
     * @return Collection
     */
    public List<Setor> listarAtivos() throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioSetor.listarAtivos();
    }
    
    /**
     * Metodo que ira listar os Categorias
     *
     * @return Collection
     */
    public List<Setor> procurarPorDescricaoPorEnderecoEstoque(String descricaoSetor, int idEnderecoEstoque) throws Exception, ErroAcessoRepositorioException {
        return this.objRepositorioSetor.procurarPorDescricaoPorEnderecoEstoque(descricaoSetor, idEnderecoEstoque);
    }
}